package br.com.sgac.model;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

@Entity
@Table(name="usuario")
public class Usuario {
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private long id;
	
	@Column (nullable = false, unique = true, length = 30)
	private String login;
	
	@Column (nullable = false, length = 15)
	private String senha;
	
	@Transient
	private String idPerfil;
	
	@OneToOne
	private Perfil perfil;
	
	@Column(columnDefinition = "boolean default false")
	private boolean deletado;
	
	@Temporal(TemporalType.TIMESTAMP)
	private Calendar dataCadastro;
	

	public Usuario() {
		super();
	}
	public long getId() {
		return id;
	}
	public String getLogin() {
		return login;
	}
	

	public String getIdPerfil() {
		return idPerfil;
	}
	public void setIdPerfil(String idPerfil) {
		this.idPerfil = idPerfil;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

	public Perfil getPerfil() {
		return perfil;
	}
	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}
	public void setId(long id) {
		this.id = id;
	}
	public boolean isDeletado() {
		return deletado;
	}
	public void setDeletado(boolean deletado) {
		this.deletado = deletado;
	}
	public Calendar getDataCadastro() {
		return dataCadastro;
	}
	public void setDataCadastro(Calendar dataCadastro) {
		this.dataCadastro = dataCadastro;
	}

	@Override
	public String toString() {
		SimpleDateFormat s = new SimpleDateFormat("dd/MM/yyyy"); 
		return "Usuario \n__________________________"
				+"\nid = " + this.getId() + " login = " + this.getLogin() + " senha = "  + this.getSenha()
				+ " deletado=" + this.isDeletado() + " dataCadastro=" + s.format(dataCadastro.getTime()) 
				+ "\n" + this.getPerfil().toString();
	}
	
}
